 //如何在不更改代码的情况下，获得原person对象
// 原文链接：https://blog.csdn.net/m16041902/article/details/100176710

var o = (function() {
    var person = {
        name: 'Vincent',
        age: 24,
    };
    return {
        run: function(k) {
            return person[k];
        },
    }
}());

console.log(o.run('name'))
console.log(o)


// 使用defineProperty方法为对象原型添加自定义的访问器属性
// 在查询任意Object()实例化对象的属性self时，调用get方法，get内部this指向当前对象
var a = Object.defineProperty(Object.prototype, 'self', {
	get: function() {
		return this
	}
})
a.myName = 'this is aaa'
console.log(a === a.self)
console.log('-----------------------\n')
console.log(o.run('sdfsd'))
console.log(o.run('self'))

